package main

import (
	"crypto/md5"
	"encoding/hex"
	"fmt"
	"mxshop_srvs/global"
	"mxshop_srvs/model"
)

// EncryptPassword 加密密码
func EncryptPassword(password string) string {
	hash := md5.New()
	hash.Write([]byte(password))
	return hex.EncodeToString(hash.Sum(nil))
}

// VerifyPassword 验证密码
func VerifyPassword(inputPassword, storedPassword string) bool {
	return EncryptPassword(inputPassword) == storedPassword
}

func main() {
	// 创建用户
	//user := model.User{
	//	Mobile:   "12345678901",
	//	Password: "hashed_password_1",
	//	NickName: "Alice",
	//	Gender:   "female",
	//	Role:     1,
	//}
	//global.DB.Create(&user)

	var users []model.User
	res := global.DB.Find(&users)

	fmt.Println(res.RowsAffected)
}

//func main() {
//
//	// Using the default options
//	//salt, encodedPwd := password.Encode("generic password", nil)
//	//check := password.Verify("generic password", salt, encodedPwd, nil)
//	//fmt.Println(check) // true
//
//	// Using custom options
//	options := &password.Options{SaltLen: 10, Iterations: 100, KeyLen: 30, HashFunction: md5.New}
//	salt, encodedPwd := password.Encode("generic password", options)
//	fmt.Println(salt, " -- ", encodedPwd)
//
//	newPassword := fmt.Sprintf("$md5$%s$%s", salt, encodedPwd)
//
//	passwordInfo := strings.Split(newPassword, "$")
//	//for index, value := range passwordInfo {
//	//	fmt.Println(index, value)
//	//}
//	//fmt.Println(passwordInfo)
//
//	check := password.Verify("generic password", passwordInfo[2], passwordInfo[3], options)
//	fmt.Println(check) // true
//
//	//fmt.Println(EncryptPassword("123456"))
//	//fmt.Println(EncryptPassword("123456"))
//
//	// 172.21.166.128
//	// 127.0.0.1
//	//dsn := "test:123456@tcp(127.0.0.1:3306)/mxshop_user_srv?charset=utf8mb4&parseTime=True&loc=Local"
//	//
//	//newLogger := logger.New(
//	//	log.New(os.Stdout, "\r\n", log.LstdFlags),
//	//	logger.Config{
//	//		SlowThreshold: time.Second,
//	//		LogLevel:      logger.Info,
//	//		Colorful:      true,
//	//	})
//	//
//	//// 全局连接mysql数据库
//	//db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
//	//	NamingStrategy: schema.NamingStrategy{
//	//		SingularTable: true,
//	//	},
//	//	Logger: newLogger,
//	//})
//	//if err != nil {
//	//	panic(err)
//	//}
//	//
//	//_ = db.AutoMigrate(&model.User{})
//
//}
